package fei.zhou.lambdalearn.demo1;

/**
 * 描述该类- JPA
 *
 * @author zhoufei
 * @class: Toshow
 * @date 2020/12/22 20:49
 * @Verson 1.0 -2020/12/22 20:49
 * @see
 */
public class Demo4 {
    
    public static void main(String[] args) {
        
        System.out.println("---------参数的类型可以省略-------------");
        method((userName, doSomething) -> {
            return (userName + doSomething);
        });
        
        System.out.println("----------如果参数有且仅有一个，那么小括号可以省略------------");
        method2(userName -> {
            return userName;
        });
        
        System.out.println("--------如果代码块的语句只有一条，可以省略大括号和分号--------------");
        method3(userName -> System.out.println(userName + "吃饭了"));
        
        System.out.println("--------如如果代码块的语句只有一条，可以省略大括号和分号，如果有return，return也要省略掉--------------");
        method2(userName -> userName);

    }
    
    public static void method(Toshow toshow) {
        String message = toshow.toSee("小明", "吃冰棒。");
        System.out.println("message：" + message);
    }
    
    public static void method2(Toshow2 toshow) {
        String message = toshow.toSee2("小明");
        System.out.println("message：" + message);
    }
    
    public static void method3(Toshow3 toshow) {
        toshow.toSee3("小明");
    }
    
    interface Toshow {
        String toSee(String userName, String doSomething);
    }
    
    interface Toshow2 {
        String toSee2(String userName);
    }
    
    interface Toshow3 {
        void toSee3(String userName);
    }
}